﻿using Application.Dto;
using Domain.Entitys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Application.IAppSrevices
{
	public interface IERService
	{
		/// <summary>
		/// 添加
		/// </summary>
		/// <returns></returns>
		Task<int> ERAddAsync(ERAddDto eRAddDto);
		/// <summary>
		/// 查询
		/// </summary>
		/// <param name="flid"></param>
		/// <param name="ncid"></param>
		/// <param name="name"></param>
		/// <param name="time"></param>
		/// <param name="timimo"></param>
		/// <param name="CheckStatus"></param>
		/// <param name="pageIndex"></param>
		/// <param name="pageSize"></param>
		/// <returns></returns>
		Task<List<ER>> ERSelectSie(int flid, int ncid, string name, DateTime time, DateTime timimo, string CheckStatus, int pageIndex, int pageSize);

		/// <summary>
		/// 查询总条数
		/// </summary>
		/// <returns></returns>
		int ERSelectCount();

		/// <summary>
		/// 按照id查询
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		Task<ER> SelectId(int id);

		/// <summary>
		/// 修改复核
		/// </summary>
		/// <param name="eRupdateDto"></param>
		/// <returns></returns>
		Task<int> ERUpdateAsync(ERupdateDto eRupdateDto);

		/// <summary>
		/// 按照状态查询
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		Task<List<ER>> SelectZTId(int id, int pageIndex, int pageSize);

		/// <summary>
		/// 按照面试状态查询
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		Task<List<ER>> SelectMSZTId(int id, int pageIndex, int pageSize);

		/// <summary>
		/// 修改状态
		/// </summary>
		/// <param name="er"></param>
		/// <returns></returns>
		public Task<int> ERUpdateZTid(ERUpdateZTDto eRUpdateZTDto);

		/// <summary>
		/// 修改筛选
		/// </summary>
		/// <param name="er"></param>
		/// <returns></returns>
		public Task<int> ERUpdateSXid(ERUpdateSXDto eRUpdateSXDto);

		/// <summary>
		/// 修改审核
		/// </summary>
		/// <param name="eRUpdateSX2Dto"></param>
		/// <returns></returns>
		public Task<int> ERUpdateSX2id(ERUpdateSX2Dto eRUpdateSX2Dto);

		/// <summary>
		/// 录用申请审核查询
		/// </summary>
		/// <returns></returns>
		Task<List<ER>> SelectLYSQ(string PassCheckComment, int pageIndex, int pageSize);

		/// <summary>
		/// 录用查询
		/// </summary>
		/// <param name="PassCheckComment"></param>
		/// <param name="PassPassComment"></param>
		/// <param name="pageIndex"></param>
		/// <param name="pageSize"></param>
		/// <returns></returns>
		Task<List<ER>> SelectLYCX(string PassCheckComment, string PassPassComment, int pageIndex, int pageSize);
        /// <summary>
        /// 按照id查询总条数
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        int ERSelectIDCount(int id);

        /// <summary>
        /// 查询录用申请审核总条数
        /// </summary>
        /// <returns></returns>
        int ERSelectStringCount(string PassCheckComment);

        /// <summary>
        /// 查询录用查询总条数
        /// </summary>
        /// <param name="PassCheckComment"></param>
        /// <param name="PassPassComment"></param>
        /// <returns></returns>
        int ERSelectString2Count(string PassCheckComment, string PassPassComment);

        /// <summary>
        /// 按照条件查询
        /// </summary>
        /// <param name="flid"></param>
        /// <param name="ncid"></param>
        /// <param name="name"></param>
        /// <param name="time"></param>
        /// <param name="timimo"></param>
        /// <param name="CheckStatus"></param>
        /// <returns></returns>
        int ERSelectCount(int flid, int ncid, string name, DateTime time, DateTime timimo, string CheckStatus);
        Task<int> SelectMSZTIdCount(int id);
    }
}
